High resolution arbitrary waveform generators, which are also referred to as function generators, are employed in electronic applications to provide an arbitrary waveform in the frequency range above 1 MHz. Agile high resolution arbitrary waveform generators provide fast switching of arbitrary waveforms, which may be advantageously employed to provide frequency stepping in electronic instrumentation.
Direct Digital Synthesis (DDS) is a method of generating a high frequency electronic signal. DDS is typically employed in high frequency function generators. FIG. 1 illustrates an exemplary prior art waveform generation circuit comprising a phase accumulator, a waveform look-up table, a digital-to-analog converter (DAC), a signal filter, and a reference clock. Exemplary electronic signals at each node are also shown in FIG. 1. The phase accumulator and the waveform look-up table collectively constitute a DDS circuit that generates a high frequency digital signal that is subsequently converted to a high frequency analog signal.
Prior to operation of the prior art waveform generation circuit, the waveform look-up table is “programmed” by storing binary data for every combination of input data provided by the phase accumulator. The waveform look-up table is thus a programmable memory to which a DDS output waveform is written. Typically, the number B of output bits of the phase accumulator is from about 24 to about 48. Thus, 2B values are possible for the output bits, or the “phase,” of the phase accumulator.
A 24 to 48 bit “frequency tuning word” (an “FTO”) defines the stepping, which is the increment, of the phase in a phase accumulator. The phase is accumulated at a fixed frequency defined by a reference clock. The phase accumulates linearly at each clock cycle at a predetermined increment, which is the frequency tuning word. Since there are only B bits in the programming step, the arithmetic governing the increment of the phase is modular arithmetic with modulo 2B, i.e., whenever the value of the phase exceeds 2B, the number 2B is subtracted from the value so that the value of the phase remains between 0 and 2B−1.
The binary data corresponding to the input data provided by the phase accumulator is output as digital outputs from the waveform look-up table. The binary data stored in the waveform look-up table constitutes a table of amplitudes in digital format. When plotted as a function of the phase, which is the output of the phase accumulator that constitutes the input to the waveform look-up table, the 2B values of the binary output comprises a complete waveform stored in the waveform look-up table. During the operation, every FTW-th value of the waveform look-up table, which corresponds to an increment in the phase by the frequency tuning word in the phase accumulator, is output from the waveform look-up table.
Since the contents of the waveform look-up table determines the shape of the waveform generated from the waveform look-up table, the shape of the waveform may be arbitrary. Thus, the waveform from the waveform look-up table is herein referred to as an “arbitrary waveform.” For example, the waveform look-up table may be filled with data representing a complete sinusoidal wave over the 2B phases. Alternately, if the first half of the waveform look-up table is filled with 1's and the second half of the waveform look-up table is filled with 0's, the waveform look-up table stores a 50% duty cycle square wave. In general any DDS output waveform may be stored.
The DDS output waveform frequency fDDS of the waveform from the waveform look-up table is thus the clock frequency fc times the value of the frequency tuning word divided by 2B, i.e., fDDS=fc×FTW/2B. The number, 2B needs not be a multiple of the frequency tuning word. For example, if the number of B is 36, the clock frequency is 100 MHz, and the frequency tuning word is 268,435,456 (=228), the DDS output waveform frequency fDDS is 100 MHz×228/236≅391 kHz. To generate a higher frequency, the frequency tuning word is increased so that the phase increases more with each clock cycle. In the above example, if the frequency tuning word is changed to 4,294,967,296 (=232), the DDS output waveform frequency is changed to 100 MHz×232/236=6.25 MHz.
The limitation on the highest frequency that may be generated by DDS depends on the clock frequency and the complexity of the waveform stored in the waveform look-up table. The lower the DDS output waveform frequency fDDS, the higher the fidelity of the waveform generated by DDS. To generate a reasonable representation of the waveform stored in the waveform look-up table, a minimum number of output data needs to be sampled from the waveform look-up table, i.e., the number, 2B/FTW needs to be a reasonably large number, which is typically greater than 10. The smaller the number, 2B/FTW, the less sampling available for generation of the output waveform, and the greater the distortion of the output signal.
This output from the waveform look-up table is then input to the digital-to-analog converter (DAC). The DAC converts the digital output of the waveform look-up table into an analog signal. The analog signal is then passed through a filter that removes high frequency components to yield a smooth waveform, of which the frequency and resolution is defined by the stepping of the phase rather than the reference clock frequency.
The switching of the frequency of the DDS can occur once the update signal is issued provided that the necessary instruction set is loaded at that point of time. Once the update is issued, the DDS produces a phase continuous frequency change in sine wave with certain pipeline delay. Switching of the frequency by changing the stepping of the phase can happen at any point in the phase accumulation and yield very different waveforms during the transition. Such transitions at arbitrary phases of the phase accumulator are illustrated in FIGS. 2A-2C. Reduction of frequency by a factor of 5 is employed for FIGS. 2A-2C.
Consequently the initial output waveforms and their periods during frequency jumping may be quite different from those that follow at the new frequency. The randomness of the frequency transition waveform frequency transition is referred to as frequency jitter. This problem has limited the usefulness of the DDS technology because the output waveform is not always precisely defined.
In view of the above, there exists a need to provide a function generator and an electronic circuit in which frequency changes in an output signal occur at a predetermined phase of an arbitrary waveform stored in a waveform look-up table.
Particularly, there exists a need to provide a function generator and an electronic circuit in which the frequency changes in the output signal occur at the beginning of the phase of the arbitrary waveform stored in the waveform look-up table.